import logging

from redis import StrictRedis


class Config(object):
    """flsk 配置"""
    DEBUG = True
    SECRET_KEY = "asfasfjsdflasdfk+asdfasf"     # 使用随机数生成后经过base64编码得到的字符串

    # 添加数据库的配置
    SQLALCHEMY_DATABASE_URI = "mysql://root:mysql@127.0.0.1:3306/FlaskNews"
    SQLALCHEMY_COMMIT_ON_TEARDOWN = True
    SQLALCHEMY_TRACK_MODIFICATIONS = True      #

    # 配置redis
    REDIS_HOST = "127.0.0.1"
    REDIS_PORT = 6379

    # 配置session的存储位置，以及关于session的其他一些功能配置
    SESSION_TYPE = "redis"
    SESSION_REDIS = StrictRedis(host=REDIS_HOST, port=REDIS_PORT)  # 指定使用的redis数据库
    SESSION_USE_SIGNER = True   # 使用session签名
    SESSION_PERMANENT = False   # 关闭持久保存，支持session有效期
    PERMANENT_SESSION_LIFETIME = 86400*2
    # 日志文件配置
    LOG_LEVEL = logging.DEBUG


class DevelopementConfig(Config):
    DEBUG = True


class TestingConfig(Config):
    DEBUG = True
    TESTING = True


class ProductionConfig(Config):
    DEBUG = False
    LOG_LEVEL = logging.WARNING


config = {
    "developement": DevelopementConfig,
    "testing": TestingConfig,
    "production": ProductionConfig
}